export const formConf = {
	formRef: 'elForm',
	formModel: 'formData',
	size: 'medium',
	labelPosition: 'right',
	labelWidth: 100,
	formRules: 'rules',
	gutter: 15,
	disabled: false,
	span: 24,
	formBtns: true,
};

export const inputComponents = [
	{
		label: '单行文本',
		tag: 'el-input',
		tagIcon: 'input',
		placeholder: '请输入',
		defaultValue: undefined,
		span: 24,
		labelWidth: null,
		style: { width: '100%' },
		clearable: true,
		prepend: '',
		append: '',
		'prefix-icon': '',
		'suffix-icon': '',
		maxlength: null,
		'show-word-limit': false,
		readonly: false,
		disabled: false,
		required: true,
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/input',
	},
	{
		label: '多行文本',
		tag: 'el-input',
		tagIcon: 'textarea',
		type: 'textarea',
		placeholder: '请输入',
		defaultValue: undefined,
		span: 24,
		labelWidth: null,
		autosize: {
			minRows: 4,
			maxRows: 4,
		},
		style: { width: '100%' },
		maxlength: null,
		'show-word-limit': false,
		readonly: false,
		disabled: false,
		required: true,
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/input',
	},
	{
		label: '密码',
		tag: 'el-input',
		tagIcon: 'password',
		placeholder: '请输入',
		defaultValue: undefined,
		span: 24,
		'show-password': true,
		labelWidth: null,
		style: { width: '100%' },
		clearable: true,
		prepend: '',
		append: '',
		'prefix-icon': '',
		'suffix-icon': '',
		maxlength: null,
		'show-word-limit': false,
		readonly: false,
		disabled: false,
		required: true,
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/input',
	},
	{
		label: '计数器',
		tag: 'el-input-number',
		tagIcon: 'number',
		placeholder: '',
		defaultValue: undefined,
		span: 24,
		labelWidth: null,
		min: undefined,
		max: undefined,
		step: undefined,
		'step-strictly': false,
		precision: undefined,
		'controls-position': '',
		disabled: false,
		required: true,
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/input-number',
	},
];

export const selectComponents = [
	{
		label: '下拉选择',
		tag: 'el-select',
		tagIcon: 'select',
		placeholder: '请选择',
		defaultValue: undefined,
		span: 24,
		labelWidth: null,
		style: { width: '100%' },
		clearable: true,
		disabled: false,
		required: true,
		filterable: false,
		multiple: false,
		options: [
			{
				label: '选项一',
				value: 1,
			},
			{
				label: '选项二',
				value: 2,
			},
		],
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/select',
	},
	{
		label: '级联选择',
		tag: 'el-cascader',
		tagIcon: 'cascader',
		placeholder: '请选择',
		defaultValue: [],
		span: 24,
		labelWidth: null,
		style: { width: '100%' },
		props: {
			props: {
				multiple: false,
			},
		},
		'show-all-levels': true,
		disabled: false,
		clearable: true,
		filterable: false,
		required: true,
		options: [
			{
				id: 1,
				value: 1,
				label: '选项1',
				children: [
					{
						id: 2,
						value: 2,
						label: '选项1-1',
					},
				],
			},
		],
		dataType: 'dynamic',
		labelKey: 'label',
		valueKey: 'value',
		childrenKey: 'children',
		separator: '/',
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/cascader',
	},
	{
		label: '单选框组',
		tag: 'el-radio-group',
		tagIcon: 'radio',
		defaultValue: undefined,
		span: 24,
		labelWidth: null,
		style: {},
		optionType: 'default',
		border: false,
		size: 'medium',
		disabled: false,
		required: true,
		options: [
			{
				label: '选项一',
				value: 1,
			},
			{
				label: '选项二',
				value: 2,
			},
		],
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/radio',
	},
	{
		label: '多选框组',
		tag: 'el-checkbox-group',
		tagIcon: 'checkbox',
		defaultValue: [],
		span: 24,
		labelWidth: null,
		style: {},
		optionType: 'default',
		border: false,
		size: 'medium',
		disabled: false,
		required: true,
		options: [
			{
				label: '选项一',
				value: 1,
			},
			{
				label: '选项二',
				value: 2,
			},
		],
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/checkbox',
	},
	{
		label: '开关',
		tag: 'el-switch',
		tagIcon: 'switch',
		defaultValue: false,
		span: 24,
		labelWidth: null,
		style: {},
		disabled: false,
		required: true,
		'active-text': '',
		'inactive-text': '',
		'active-color': null,
		'inactive-color': null,
		'active-value': true,
		'inactive-value': false,
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/switch',
	},
	{
		label: '滑块',
		tag: 'el-slider',
		tagIcon: 'slider',
		defaultValue: null,
		span: 24,
		labelWidth: null,
		disabled: false,
		required: true,
		min: 0,
		max: 100,
		step: 1,
		'show-stops': false,
		range: false,
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/slider',
	},
	{
		label: '时间选择',
		tag: 'el-time-picker',
		tagIcon: 'time',
		placeholder: '请选择',
		defaultValue: null,
		span: 24,
		labelWidth: null,
		style: { width: '100%' },
		disabled: false,
		clearable: true,
		required: true,
		'picker-options': {
			selectableRange: '00:00:00-23:59:59',
		},
		format: 'HH:mm:ss',
		'value-format': 'HH:mm:ss',
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/time-picker',
	},
	{
		label: '时间范围',
		tag: 'el-time-picker',
		tagIcon: 'time-range',
		defaultValue: null,
		span: 24,
		labelWidth: null,
		style: { width: '100%' },
		disabled: false,
		clearable: true,
		required: true,
		'is-range': true,
		'range-separator': '至',
		'start-placeholder': '开始时间',
		'end-placeholder': '结束时间',
		format: 'HH:mm:ss',
		'value-format': 'HH:mm:ss',
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/time-picker',
	},
	{
		label: '日期选择',
		tag: 'el-date-picker',
		tagIcon: 'date',
		placeholder: '请选择',
		defaultValue: null,
		type: 'date',
		span: 24,
		labelWidth: null,
		style: { width: '100%' },
		disabled: false,
		clearable: true,
		required: true,
		format: 'yyyy-MM-dd',
		'value-format': 'yyyy-MM-dd',
		readonly: false,
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/date-picker',
	},
	{
		label: '日期范围',
		tag: 'el-date-picker',
		tagIcon: 'date-range',
		defaultValue: null,
		span: 24,
		labelWidth: null,
		style: { width: '100%' },
		type: 'daterange',
		'range-separator': '至',
		'start-placeholder': '开始日期',
		'end-placeholder': '结束日期',
		disabled: false,
		clearable: true,
		required: true,
		format: 'yyyy-MM-dd',
		'value-format': 'yyyy-MM-dd',
		readonly: false,
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/date-picker',
	},
	{
		label: '评分',
		tag: 'el-rate',
		tagIcon: 'rate',
		defaultValue: 0,
		span: 24,
		labelWidth: null,
		style: {},
		max: 5,
		'allow-half': false,
		'show-text': false,
		'show-score': false,
		disabled: false,
		required: true,
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/rate',
	},
	{
		label: '颜色选择',
		tag: 'el-color-picker',
		tagIcon: 'color',
		defaultValue: null,
		labelWidth: null,
		'show-alpha': false,
		'color-format': '',
		disabled: false,
		required: true,
		size: 'medium',
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/color-picker',
	},
	{
		label: '上传',
		tag: 'el-upload',
		tagIcon: 'upload',
		action: 'https://jsonplaceholder.typicode.com/posts/',
		defaultValue: null,
		labelWidth: null,
		disabled: false,
		required: true,
		accept: '',
		name: 'file',
		'auto-upload': true,
		showTip: false,
		buttonText: '点击上传',
		fileSize: 2,
		sizeUnit: 'MB',
		'list-type': 'text',
		multiple: false,
		regList: [],
		changeTag: true,
		document: 'https://element.eleme.cn/#/zh-CN/component/upload',
	},
];

export const layoutComponents = [
	{
		layout: 'rowFormItem',
		tagIcon: 'row',
		type: 'default',
		justify: 'start',
		align: 'top',
		label: '行容器',
		layoutTree: true,
		children: [],
		document: 'https://element.eleme.cn/#/zh-CN/component/layout',
	},
	{
		layout: 'colFormItem',
		label: '按钮',
		changeTag: true,
		labelWidth: null,
		tag: 'el-button',
		tagIcon: 'button',
		span: 24,
		default: '主要按钮',
		type: 'primary',
		icon: 'el-icon-search',
		size: 'medium',
		disabled: false,
		document: 'https://element.eleme.cn/#/zh-CN/component/button',
	},
];

// 组件rule的触发方式，无触发方式的组件不生成rule
export const trigger = {
	'el-input': 'blur',
	'el-input-number': 'blur',
	'el-select': 'change',
	'el-radio-group': 'change',
	'el-checkbox-group': 'change',
	'el-cascader': 'change',
	'el-time-picker': 'change',
	'el-date-picker': 'change',
	'el-rate': 'change',
};
